package com.lxl.securitypermission.service;

import com.lxl.securitypermission.controller.vo.SimpleRoleVo;
import com.lxl.securitypermission.dto.ResponseResult;
import com.lxl.securitypermission.dto.ResponseResultPage;
import com.lxl.securitypermission.entity.SRole;
import com.lxl.securitypermission.pojo.RolePermission;
import java.util.List;

/**
 * @Author 绫小路
 * @Date 2020/12/31
 */
public interface RoleService {

  /**
   * 获取用户角色列表 根据用户id
   *
   * @param userId
   * @return
   */
  List<String> getRoleList(Integer userId);

  /**
   * 获取所有角色权限
   *
   * @return
   */
  List<RolePermission> getAllRolePermission();

  /**
   * 获取角色列表
   *
   * @param search
   * @param page
   * @param limit
   * @return
   */
  ResponseResultPage getRoleLists(String search, int page, int limit);

  /**
   * 添加角色
   * @param name
   * @param description
   * @return
   */
  ResponseResult add(String name, String description);

  /**
   * 删除角色
   * @param name
   * @return
   */
  ResponseResult delete(String name);

  /**
   * 编辑角色
   * @param name
   * @param description
   * @return
   */
  ResponseResult edit(Integer id,String name, String description);

  /**
   * 获取权限李彪
   * @param search
   * @param page
   * @param limit
   * @return
   */
  ResponseResultPage permissionList(String search, int page, int limit);

  /**
   * 删除角色权限
   * @param id
   * @return
   */
  ResponseResult deleteRolePermission(Integer id);

  /**
   * 获取所有角色简要信息
   * @param status
   * @return
   */
  List<SimpleRoleVo> getSimpleRoleVo(int status);

  /**
   * 角色添加权限
   * @param roleId
   * @param permissionId
   * @return
   */
  ResponseResult add(Integer roleId, Integer permissionId);
}
